﻿// 消防车 FIRETRUCKS.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://algospot.com/judge/problem/read/FIRETRUCKS

问题
当寒冷的天气变冷时，由于各种供暖设备，容易发生火灾。在一个寒冷的冬天，首尔市中心的n个地区同时发生了火灾。为了最小化损失，应尽快派遣消防车辆。首尔市中心有m个消防局。假设从距离火灾地点最近的消防局发送消防车辆，编写一个计算消防车辆到达每个火灾地点所需时间总和的程序。每个消防局都有足够的消防车辆。

在这个问题中，首尔市中心由编号从1到V的V个地点以及连接它们的E条双向道路组成。对于每条道路，给出连接两个地点的编号以及每条道路的通行时间。

让我们看一个例子地图。用方框表示消防局，用阴影表示火灾地点。在第2号和第5号地点，6号消防局最近；在第3号地点，4号消防局最近。这时，每个地点到达消防车辆所需的时间分别为第2号地点8分钟，第5号地点4分钟，第3号地点4分钟，总和为16分钟。

输入
输入的第一行包含测试用例的数量C(1≤C≤50)。每个测试用例的第一行包含地点数V(2≤V≤1000)，道路数E(0≤E≤V*(V-1)/2)，火灾地点数n和消防局数m(1≤n, 1≤m, n+m≤V)。然后，对于每条道路，有e行，每行由三个整数组成，表示道路连接的两个地点a、b的编号(1≤a, b≤V)，以及道路通行所需时间t，以分钟为单位给出。(1≤t≤100)在测试用例的最后两行中，分别给出了n个和m个整数，表示火灾发生地点的编号和消防局的位置编号。

假设消防局所在的地方不会发生火灾，并且可以假设不存在无法到达的火灾地点。输入中不存在一个地点之间存在多于两条道路的情况，并且所有道路都是双向通行的。

输出
对于每个测试用例，输出一行，表示消防车辆到达每个火灾地点所需的时间总和，以分钟为单位。

示例输入
1
8 12 3 2
1 2 3
1 6 9
2 3 6
3 4 4
3 5 2
4 5 7
6 5 5
8 6 5
6 7 3
8 7 3
7 5 1
2 8 3
2 3 5
4 6
示例输出
16
*/
int main()
{
    std::cout << "Hello World!\n";
}

 